package com.boarsoft.dao.sharding.aspect;

import org.aspectj.lang.ProceedingJoinPoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.boarsoft.dao.sharding.advice.DaoShardingAdvice;
import com.boarsoft.dao.sharding.advice.DaoShardingAdviceImpl;

//@Component
// @Aspect
public abstract class DaoShardingAspect {
	protected Logger log = LoggerFactory.getLogger(this.getClass());

	protected DaoShardingAdvice advice = new DaoShardingAdviceImpl();

	// @Around(value = "execution(* com..dao.sharding..*(..)) &&
	// @annotation(DaoSharding)")
	public Object around(ProceedingJoinPoint jp) throws Throwable {
		return advice.doAround(jp);
	}
}
